package com.wsoft.sms.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.wsoft.sms.entity.SmsTemplateEntity;
import com.wsoft.sms.query.template.TemplateInsertQuery;
import com.wsoft.sms.query.template.TemplateListQuery;
import com.wsoft.sms.query.template.TemplateTestQuery;
import com.wsoft.sms.query.template.TemplateUpdateQuery;

/**
 * <p>
 * 消息模版 服务类
 * </p>
 *
 * @author zhanggukai
 * @since 2024年11月27日 14:31:52
 */
public interface ISmsTemplateService extends IService<SmsTemplateEntity> {
    /**
     * 新增模版
     * @param query
     * @return
     */
    boolean insert (TemplateInsertQuery query);

    /**
     * 修改模版
     * @param query
     * @return
     */
    boolean update (TemplateUpdateQuery query);

    /**
     * 删除模版
     * @param id
     * @return
     */
    boolean delete(Long id);

    /**
     * 获取模版详情
     * @param id
     * @return SysRoleEntity
     */
    SmsTemplateEntity getTemplate (Long id);

    /**
     * 获取模版列表(分页)
     * @param query
     * @return PageInfo
     */
    PageInfo<SmsTemplateEntity> listTemplate(TemplateListQuery query);

    /**
     *测试模版
     * @param query
     */
    void sendTest(TemplateTestQuery query);

    /**
     * 模版发送消息
     * @param templateCode
     * @param type
     * @param dataModelJson
     * @param to
     * @return String
     */
    String sendTemplate(String templateCode,String type,String dataModelJson,String to);
}

